[INFO] fetching crate pir-8-emu 2.0.2...
[INFO] checking pir-8-emu-2.0.2 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate pir-8-emu 2.0.2 into /workspace/builds/worker-1-tc1/source
[INFO] validating manifest of crates.io crate pir-8-emu 2.0.2 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate pir-8-emu 2.0.2
[INFO] finished tweaking crates.io crate pir-8-emu 2.0.2
[INFO] tweaked toml for crates.io crate pir-8-emu 2.0.2 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate crates.io crate pir-8-emu 2.0.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tinyfiledialogs v3.3.9
[INFO] [stderr]   Downloaded bear-lib-terminal v2.0.0
[INFO] [stderr]   Downloaded vswhom-sys v0.1.0
[INFO] [stderr]   Downloaded bear-lib-terminal-sys v1.3.0
[INFO] [stderr]   Downloaded dlopen_derive v0.1.4
[INFO] [stderr]   Downloaded embed-resource v1.3.2
[INFO] [stderr]   Downloaded arraydeque v0.4.5
[INFO] [stderr]   Downloaded dlopen v0.1.8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cad5393c2040ba231e91036b2b0edc1ab341dced78bd287648082961f8618a6d
[INFO] running `Command { std: "docker" "start" "-a" "cad5393c2040ba231e91036b2b0edc1ab341dced78bd287648082961f8618a6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cad5393c2040ba231e91036b2b0edc1ab341dced78bd287648082961f8618a6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cad5393c2040ba231e91036b2b0edc1ab341dced78bd287648082961f8618a6d", kill_on_drop: false }`
[INFO] [stdout] cad5393c2040ba231e91036b2b0edc1ab341dced78bd287648082961f8618a6d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b8adf6d9aed33c57148dc36120f3427a6530c4129d104a2d76b3f4976525e395
[INFO] running `Command { std: "docker" "start" "-a" "b8adf6d9aed33c57148dc36120f3427a6530c4129d104a2d76b3f4976525e395", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.67
[INFO] [stderr]    Compiling proc-macro2 v1.0.9
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling syn v1.0.16
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling cc v1.0.50
[INFO] [stderr]    Compiling serde v1.0.104
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling arraydeque v0.4.5
[INFO] [stderr]    Compiling embed-resource v1.3.2
[INFO] [stderr]    Compiling pir-8-emu v2.0.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking bear-lib-terminal-sys v1.3.0
[INFO] [stderr]    Compiling quote v1.0.3
[INFO] [stderr]     Checking dirs-sys v0.3.4
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking dirs v2.0.2
[INFO] [stderr]     Checking bear-lib-terminal v2.0.0
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]    Compiling tinyfiledialogs v3.3.9
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]     Checking const-cstr v0.3.0
[INFO] [stderr]     Checking downcast-rs v1.1.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.6
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]    Compiling dlopen_derive v0.1.4
[INFO] [stderr]    Compiling serde_derive v1.0.104
[INFO] [stderr]     Checking dlopen v0.1.8
[INFO] [stderr]     Checking toml v0.5.6
[INFO] [stdout] warning: field `lib` is never read
[INFO] [stdout]   --> src/binutils/pir_8_emu/native_port_handler.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct NativePortHandler {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     lib: NativeLibrary,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NativePortHandler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: assigning to `&T` is undefined behavior, consider using an `UnsafeCell`
[INFO] [stdout]   --> src/rw.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |             *(&self.mask as *const u8 as *mut u8) |= 0b01;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]    = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: assigning to `&T` is undefined behavior, consider using an `UnsafeCell`
[INFO] [stdout]    --> src/vm/memory.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |             *(&self.read[idx] as *const u64 as *mut u64) |= 1 << bit;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lib` is never read
[INFO] [stdout]   --> src/binutils/pir_8_emu/native_port_handler.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct NativePortHandler {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     lib: NativeLibrary,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NativePortHandler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: assigning to `&T` is undefined behavior, consider using an `UnsafeCell`
[INFO] [stdout]   --> src/rw.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |             *(&self.mask as *const u8 as *mut u8) |= 0b01;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]    = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: assigning to `&T` is undefined behavior, consider using an `UnsafeCell`
[INFO] [stdout]    --> src/vm/memory.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |             *(&self.read[idx] as *const u64 as *mut u64) |= 1 << bit;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pir-8-emu` (lib test) due to 3 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `pir-8-emu` (lib) due to 3 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "b8adf6d9aed33c57148dc36120f3427a6530c4129d104a2d76b3f4976525e395", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b8adf6d9aed33c57148dc36120f3427a6530c4129d104a2d76b3f4976525e395", kill_on_drop: false }`
[INFO] [stdout] b8adf6d9aed33c57148dc36120f3427a6530c4129d104a2d76b3f4976525e395
[INFO] checking pir-8-emu-2.0.2 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate pir-8-emu 2.0.2 into /workspace/builds/worker-1-tc2/source
[INFO] validating manifest of crates.io crate pir-8-emu 2.0.2 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate pir-8-emu 2.0.2
[INFO] finished tweaking crates.io crate pir-8-emu 2.0.2
[INFO] tweaked toml for crates.io crate pir-8-emu 2.0.2 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] crate crates.io crate pir-8-emu 2.0.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d2912fb07f95dcfbad6cd567025c28405580d6e43e1d3b97f9a2d6764fae5946
[INFO] running `Command { std: "docker" "start" "-a" "d2912fb07f95dcfbad6cd567025c28405580d6e43e1d3b97f9a2d6764fae5946", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d2912fb07f95dcfbad6cd567025c28405580d6e43e1d3b97f9a2d6764fae5946", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d2912fb07f95dcfbad6cd567025c28405580d6e43e1d3b97f9a2d6764fae5946", kill_on_drop: false }`
[INFO] [stdout] d2912fb07f95dcfbad6cd567025c28405580d6e43e1d3b97f9a2d6764fae5946
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] af140ae7b63ab6da5d16fad09a1011d8832a1239ea10f90bc1604ad82f346893
[INFO] running `Command { std: "docker" "start" "-a" "af140ae7b63ab6da5d16fad09a1011d8832a1239ea10f90bc1604ad82f346893", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.67
[INFO] [stderr]    Compiling proc-macro2 v1.0.9
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling syn v1.0.16
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling autocfg v1.0.0
[INFO] [stderr]    Compiling serde v1.0.104
[INFO] [stderr]    Compiling cc v1.0.50
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling arraydeque v0.4.5
[INFO] [stderr]    Compiling embed-resource v1.3.2
[INFO] [stderr]    Compiling pir-8-emu v2.0.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling quote v1.0.3
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking bear-lib-terminal-sys v1.3.0
[INFO] [stderr]     Checking dirs-sys v0.3.4
[INFO] [stderr]     Checking dirs v2.0.2
[INFO] [stderr]     Checking bear-lib-terminal v2.0.0
[INFO] [stderr]     Checking clap v2.33.0
[INFO] [stderr]    Compiling tinyfiledialogs v3.3.9
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]     Checking const-cstr v0.3.0
[INFO] [stderr]     Checking downcast-rs v1.1.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.6
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]    Compiling dlopen_derive v0.1.4
[INFO] [stderr]    Compiling serde_derive v1.0.104
[INFO] [stderr]     Checking dlopen v0.1.8
[INFO] [stderr]     Checking toml v0.5.6
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/util.rs:75:37
[INFO] [stdout]    |
[INFO] [stdout] 75 |             T::from_str_radix(&from[depth..].replace('_', ""), radix).ok()
[INFO] [stdout]    |                                     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/util.rs:75:37
[INFO] [stdout]    |
[INFO] [stdout] 75 |             T::from_str_radix(&from[depth..].replace('_', ""), radix).ok()
[INFO] [stdout]    |                                     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/util.rs:77:37
[INFO] [stdout]    |
[INFO] [stdout] 77 |             T::from_str_radix(&from[depth..], radix).ok()
[INFO] [stdout]    |                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/util.rs:77:37
[INFO] [stdout]    |
[INFO] [stdout] 77 |             T::from_str_radix(&from[depth..], radix).ok()
[INFO] [stdout]    |                                     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util.rs:93:28
[INFO] [stdout]    |
[INFO] [stdout] 93 |         Some(idx) => &from[0..idx],
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/util.rs:93:28
[INFO] [stdout]    |
[INFO] [stdout] 93 |         Some(idx) => &from[0..idx],
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/options.rs:239:100
[INFO] [stdout]     |
[INFO] [stdout] 239 |     match s.find(',').map(|comma_pos| s.split_at(comma_pos)).map(|(first, second)| (first, &second[1..])) {
[INFO] [stdout]     |                                                                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/options.rs:239:100
[INFO] [stdout]     |
[INFO] [stdout] 239 |     match s.find(',').map(|comma_pos| s.split_at(comma_pos)).map(|(first, second)| (first, &second[1..])) {
[INFO] [stdout]     |                                                                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/binutils/pir_8_emu/vm.rs:123:18
[INFO] [stdout]     |
[INFO] [stdout] 123 |         for _ in self.curr_op..self.ops.1 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/binutils/pir_8_emu/vm.rs:123:18
[INFO] [stdout]     |
[INFO] [stdout] 123 |         for _ in self.curr_op..self.ops.1 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/binutils/pir_8_emu/vm.rs:177:26
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 for i in 1..=(self.instruction.data_length() as u16) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeInclusive` range syntax
[INFO] [stdout]    --> src/binutils/pir_8_emu/vm.rs:177:26
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 for i in 1..=(self.instruction.data_length() as u16) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/binutils/pir_8_emu/display/status.rs:133:40
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     let err_msg = &err["Register bank ".len()..];
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/binutils/pir_8_emu/display/status.rs:133:40
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     let err_msg = &err["Register bank ".len()..];
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/binutils/pir_8_emu/display/memory.rs:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 |     for cur_line in 0..10 {
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/binutils/pir_8_emu/display/micro/ops.rs:45:14
[INFO] [stdout]    |
[INFO] [stdout] 45 |     for i in 0..ops.1 {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/binutils/pir_8_emu/display/memory.rs:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 |     for cur_line in 0..10 {
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/binutils/pir_8_emu/display/micro/ops.rs:45:14
[INFO] [stdout]    |
[INFO] [stdout] 45 |     for i in 0..ops.1 {
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/binutils/pir_8_as/directive/from_str.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 tok = &tok[1..];
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/binutils/pir_8_as/directive/from_str.rs:40:28
[INFO] [stdout]    |
[INFO] [stdout] 40 |                 tok = &tok[1..];
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/binutils/pir_8_as/directive/from_str.rs:141:28
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 tok = &tok[1..];
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/binutils/pir_8_as/directive/from_str.rs:141:28
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 tok = &tok[1..];
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/binutils/pir_8_as/directive/from_str.rs:167:33
[INFO] [stdout]     |
[INFO] [stdout] 167 |             let lit = &orig_str[start_pos..];
[INFO] [stdout]     |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/binutils/pir_8_as/directive/from_str.rs:167:33
[INFO] [stdout]     |
[INFO] [stdout] 167 |             let lit = &orig_str[start_pos..];
[INFO] [stdout]     |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/binutils/pir_8_as/directive/from_str.rs:171:59
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 Ok(AssemblerDirective::InsertLiteral(&lit[1..lit.len() - 1]))
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/binutils/pir_8_as/directive/from_str.rs:171:59
[INFO] [stdout]     |
[INFO] [stdout] 171 |                 Ok(AssemblerDirective::InsertLiteral(&lit[1..lit.len() - 1]))
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lib` is never read
[INFO] [stdout]   --> src/binutils/pir_8_emu/native_port_handler.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct NativePortHandler {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     lib: NativeLibrary,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NativePortHandler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: assigning to `&T` is undefined behavior, consider using an `UnsafeCell`
[INFO] [stdout]   --> src/rw.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |             *(&self.mask as *const u8 as *mut u8) |= 0b01;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]    = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/vm/ports/ports.rs:329:12
[INFO] [stdout]     |
[INFO] [stdout] 329 | impl Index<Range<u8>> for Ports {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D trait-impl-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/vm/ports/ports.rs:333:28
[INFO] [stdout]     |
[INFO] [stdout] 333 |     fn index(&self, index: Range<u8>) -> &Self::Output {
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/vm/ports/ports.rs:341:15
[INFO] [stdout]     |
[INFO] [stdout] 341 | impl IndexMut<Range<u8>> for Ports {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/vm/ports/ports.rs:343:36
[INFO] [stdout]     |
[INFO] [stdout] 343 |     fn index_mut(&mut self, index: Range<u8>) -> &mut Self::Output {
[INFO] [stdout]     |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/vm/ports/ports.rs:351:12
[INFO] [stdout]     |
[INFO] [stdout] 351 | impl Index<RangeFrom<u8>> for Ports {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/vm/ports/ports.rs:355:28
[INFO] [stdout]     |
[INFO] [stdout] 355 |     fn index(&self, index: RangeFrom<u8>) -> &Self::Output {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/vm/ports/ports.rs:360:15
[INFO] [stdout]     |
[INFO] [stdout] 360 | impl IndexMut<RangeFrom<u8>> for Ports {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/vm/ports/ports.rs:362:36
[INFO] [stdout]     |
[INFO] [stdout] 362 |     fn index_mut(&mut self, index: RangeFrom<u8>) -> &mut Self::Output {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeInclusive` type
[INFO] [stdout]    --> src/vm/ports/ports.rs:383:12
[INFO] [stdout]     |
[INFO] [stdout] 383 | impl Index<RangeInclusive<u8>> for Ports {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeInclusive` type in public function
[INFO] [stdout]    --> src/vm/ports/ports.rs:387:28
[INFO] [stdout]     |
[INFO] [stdout] 387 |     fn index(&self, index: RangeInclusive<u8>) -> &Self::Output {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeInclusive` type
[INFO] [stdout]    --> src/vm/ports/ports.rs:393:15
[INFO] [stdout]     |
[INFO] [stdout] 393 | impl IndexMut<RangeInclusive<u8>> for Ports {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeInclusive` type in public function
[INFO] [stdout]    --> src/vm/ports/ports.rs:395:36
[INFO] [stdout]     |
[INFO] [stdout] 395 |     fn index_mut(&mut self, index: RangeInclusive<u8>) -> &mut Self::Output {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: assigning to `&T` is undefined behavior, consider using an `UnsafeCell`
[INFO] [stdout]    --> src/vm/memory.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |             *(&self.read[idx] as *const u64 as *mut u64) |= 1 << bit;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/vm/memory.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl Index<Range<u16>> for Memory {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/vm/memory.rs:127:28
[INFO] [stdout]     |
[INFO] [stdout] 127 |     fn index(&self, index: Range<u16>) -> &Self::Output {
[INFO] [stdout]     |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `Range` type
[INFO] [stdout]    --> src/vm/memory.rs:135:15
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl IndexMut<Range<u16>> for Memory {
[INFO] [stdout]     |               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/vm/memory.rs:137:36
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn index_mut(&mut self, index: Range<u16>) -> &mut Self::Output {
[INFO] [stdout]     |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/vm/memory.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl Index<RangeFrom<u16>> for Memory {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/vm/memory.rs:149:28
[INFO] [stdout]     |
[INFO] [stdout] 149 |     fn index(&self, index: RangeFrom<u16>) -> &Self::Output {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeFrom` type
[INFO] [stdout]    --> src/vm/memory.rs:154:15
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl IndexMut<RangeFrom<u16>> for Memory {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeFrom` type in public function
[INFO] [stdout]    --> src/vm/memory.rs:156:36
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn index_mut(&mut self, index: RangeFrom<u16>) -> &mut Self::Output {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeInclusive` type
[INFO] [stdout]    --> src/vm/memory.rs:177:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl Index<RangeInclusive<u16>> for Memory {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeInclusive` type in public function
[INFO] [stdout]    --> src/vm/memory.rs:181:28
[INFO] [stdout]     |
[INFO] [stdout] 181 |     fn index(&self, index: RangeInclusive<u16>) -> &Self::Output {
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: public trait impl involving `RangeInclusive` type
[INFO] [stdout]    --> src/vm/memory.rs:187:15
[INFO] [stdout]     |
[INFO] [stdout] 187 | impl IndexMut<RangeInclusive<u16>> for Memory {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `RangeInclusive` type in public function
[INFO] [stdout]    --> src/vm/memory.rs:189:36
[INFO] [stdout]     |
[INFO] [stdout] 189 |     fn index_mut(&mut self, index: RangeInclusive<u16>) -> &mut Self::Output {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `lib` is never read
[INFO] [stdout]   --> src/binutils/pir_8_emu/native_port_handler.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct NativePortHandler {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     lib: NativeLibrary,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NativePortHandler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: assigning to `&T` is undefined behavior, consider using an `UnsafeCell`
[INFO] [stdout]   --> src/rw.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |             *(&self.mask as *const u8 as *mut u8) |= 0b01;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]    = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: assigning to `&T` is undefined behavior, consider using an `UnsafeCell`
[INFO] [stdout]    --> src/vm/memory.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 103 |             *(&self.read[idx] as *const u64 as *mut u64) |= 1 << bit;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 26 previous errors; 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 14 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `pir-8-emu` (lib) due to 27 previous errors; 14 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `pir-8-emu` (lib test) due to 3 previous errors; 14 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "af140ae7b63ab6da5d16fad09a1011d8832a1239ea10f90bc1604ad82f346893", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "af140ae7b63ab6da5d16fad09a1011d8832a1239ea10f90bc1604ad82f346893", kill_on_drop: false }`
[INFO] [stdout] af140ae7b63ab6da5d16fad09a1011d8832a1239ea10f90bc1604ad82f346893
